Hazeltine 1500

The 1500 used an Intel 8080A processor with 2 kB of ROM for the basic
operations, and 2 kB of RAM as the character buffer (4 kB in the
1510/1520). Characters were drawn using a 7 column by 10 row pattern
within a larger 9 by 11 cell. The display showed 80 columns by 24 rows,
a widespread standard at that time. The 12" CRT used P4 "white"
phosphor.[2]

The final entry to the 1500 series was the Hazeltine 1552 introduced in
August 1979 at $1,500. It added a VT52 emulation mode, separate cursor
keys, and graphics characters.[1] 

The command set for Hazeltine terminals was fairly simple, consisting
mostly of line editing and cursor positioning commands. The tilde, ~ was
used as the escape character, or as they referred to it, the "lead-in
code". The 1510/1520 also allowed ESC to be used as the lead-in.[5]

Simple one-letter commands following the lead-in included DC2 for
cursor-to-home (upper left corner of the screen), FF for up-cursor, VT
(vertical tab) for down-cursor, BS (backspace) for cursor-left and DLE
for cursor-right, and FS (form separator) for clear screen.[6] SI
cleared to the end of the line, ETB to the end of the screen.[7] DC3
deleted the line and moved any data below it up while SUB inserted a
line and pushed lines down.[8] 

The cursor could be positioned anywhere on the screen using DC1 and
following that with two ASCII characters for the X and Y locations. The
ASCII could be offset by any multiple of 32, so for instance, one could
move to Y location (row) 10 by sending LF, ASCII code 10, or by sending
*, ASCII code 42, 32+10. The advantage of adding 32 to the value is that
it shifts it into the printable character range, which is more likely to
work on all serial links. The same was true for the X address, but
because the locations were 0 to 79, rather than 0 to 23 for Y, shifting
higher addresses in this manner might put them out of the printable
range again. They suggested transmitting 0 through 30 using codes 96
through 126.[9] ENQ would return the current cursor location as two
characters separated by a carriage return.[10] 

Sending - caused the terminal to send a single character in return,
encoding the terminal status in the lower 6 bits. Bits 0, 1 and 7 were
not used and always zero. Bit 2 returned whether it was half duplex
while 3 was full duplex. Bit 4 was 1 if there was a parity error on the
last transmission. 5 and 6 encoded the end-of-line character being used,
00 was CR, 01 was ETX, 10 for EOT, and 11 for none.[11] 

One unique feature of the Hazeltine systems was the difference between
normal-intensity "background" characters and higher-intensity
"foreground" characters. The system was normally in background mode and
any data sent to it was displayed normally. Sending the "foreground
follows" instruction, US (unit separator), all following data was
displayed in foreground mode. Sending background follows, EM
(end-of-medium) returned to background mode.[12] Sending CAN cleared to
the end of the screen like ETB, but filled it with foreground spaces.[7]
GS was similar to clear screen, but removed only the foreground.[13] 

Sending NAK locked the keyboard, while ACK unlocked it again.[8]





info.txt
sources.txt
directory